EFFICIENT BRANCH AND NODE TESTING by

نویسندگان

  • Jonathan Misurda
  • Panos Chrysanthis
چکیده

Software testing evaluates the correctness of a program's implementation through a test suite. The quality of a test case or suite is assessed with a coverage metric indicating what percentage of a program's structure was exercised (covered) during execution. Coverage of every execution path is impossible due to infeasible paths and loops that result in an exponential or infinite number of paths. Instead, metrics such as the number of statements (nodes) or control-flow branches covered are used. Node and branch coverage require instrumentation probes to be present during program runtime. Traditionally, probes were statically inserted during compilation. These static probes remain even after coverage is recorded, incurring unnecessary overhead, reducing the number of tests that can be run, or requiring large amounts of memory. In this dissertation, I present three novel techniques for improving branch and node coverage performance for the Java runtime. First, Demand-driven Structural Testing (DDST) uses dynamic insertion and removal of probes so they can be removed after recording coverage, avoiding the unnecessary overhead of static instrumentation. DDST is built on a new framework for developing and researching coverage techniques, Jazz. DDST for node coverage averages 19.7% faster than statically-inserted instrumentation on an industry-standard benchmark suite, SPECjvm98. Due to DDST's higher-cost probes, no single branch coverage technique performs best on all programs or methods. To address this, I developed Hybrid Structural Testing (HST). HST combines different test techniques, including static and DDST, into one run. HST uses a cost model for analysis, reducing the cost of branch coverage testing an average of iv 48% versus Static and 56% versus DDST on SPECjvm98. HST never chooses certain techniques due to expensive analysis. I developed a third technique, Test Plan Caching (TPC), that exploits the inherent repetition in testing over a suite. TPC saves analysis results to avoid recomputation. Combined with HST, TPC produces a mix of techniques that record coverage quickly and efficiently. My three techniques reduce the average cost of branch coverage by 51.6–90.8% over previous approaches on SPECjvm98, allowing twice as many test cases in a given time budget.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Energy Efficient Routing in Mobile Ad Hoc Networks by Using Honey Bee Mating Optimization

Mobile Ad hoc networks (MANETs) are composed of mobile stations communicating through wireless links, without any fixed backbone support. In these networks, limited power energy supply, and frequent topology changes caused by node mobility, makes their routing a challenging problem. TORA is one of the routing protocols that successfully copes with the nodes’ mobility side effects, but it do...

متن کامل

Energy Efficient Routing in Mobile Ad Hoc Networks by Using Honey Bee Mating Optimization

Mobile Ad hoc networks (MANETs) are composed of mobile stations communicating through wireless links, without any fixed backbone support. In these networks, limited power energy supply, and frequent topology changes caused by node mobility, makes their routing a challenging problem. TORA is one of the routing protocols that successfully copes with the nodes’ mobility side effects, but it do...

متن کامل

Sink Location Service Based on Fano Plane in Wireless Sensor Networks

Sink location is considered as a basic service in geographic routing in wireless sensor networks. Obtaining the location of sink node by source node using an efficient method with low complexity has always been a challenging issue in research. In this paper, a sink location algorithm based on Fano plane is proposed. The research challenge is how to ensure the intersection of two SLQ (Location Q...

متن کامل

An efficient solution for management of pre-distribution in wireless sensor networks

A sensor node is composed of different parts including processing units, sensor, transmitter, receiver, and security unit. There are many nodes in a sensor unit. These networks can be used for military, industrial, medicine, environmental, house, and many other applications. These nodes may be established in the lands of enemies to monitor the relations. Hence, it is important to consider conse...

متن کامل

Energy optimization based on routing protocols in wireless sensor network

Considering the great significant role that routing protocols play in transfer rate and choosing the optimum path for exchange of data packages, and further in the amount of consumed energy in the routing protocol, the present study has focused on developing an efficient compound energy algorithm based on cluster structure which is called active node with cluster structure. The purpose of this ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011